package com.banmao.CarlCamp.Day06;

public class LC383 {

    // 使用 getBytes 的性能似乎比 toCharArray 更差
    public boolean canConstruct(String ransomNote, String magazine) {
        // 两个字符串都只有小写英文，尝试用数组处理
        int[] arr = new int[200];
        // 将赎金信的字符出现次数放入数组
        for (byte aByte : ransomNote.getBytes()) {
            arr[aByte]++;
        }

        // 遍历magazine，如果出现了匹配的字符就做--
        for (byte aByte : magazine.getBytes()) {
            if (arr[aByte] > 0) {
                arr[aByte]--;
            }
        }

        for (int a : arr) {
            if (a > 0) {
                return false;
            }
        }

        return true;
    }

}
